#ifndef CButtonHandler_HPP
#define CButtonHandler_HPP

#include <Arduino.h>

class CButtonHandler
{
public:
   CButtonHandler(uint8_t buttonPin);
   
   /**
    *
    */
   void init();
   
   /**
    * Returns enum value that represents event: press, release, no_event (eButtonEvent value)
    */
   uint8_t processButton();
private:
   uint8_t        mButtonPin;
   unsigned long  mPressedTime;
   uint8_t        mPreviousState;
   uint8_t        mCurrentState;
};

#endif //CButtonHandler_HPP